package top.infopub.mgr.bpa.service;


import com.github.pagehelper.Page;
import top.infopub.dto.bpa.OtherContractsReviewDto;
import top.infopub.mgr.bpa.domain.OtherConLedgerDomain;
import top.infopub.mgr.bpa.domain.OtherConReviewDomain;
import top.infopub.mgr.bpa.vo.ContractManageVo;
import top.infopub.mgr.bpa.vo.OtherConReviewVo;
import top.infopub.model.bpa.Basic;
import top.infopub.model.bpa.OtherContractsReview;
import top.infopub.model.mkt.ProjectAttachment;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 其他合同评审 服务类
 * </p>
 *
 * @author astupidcoder
 * @since 2021-06-15
 */
public interface OtherContractsReviewService  {

    /**
     * 根据条件查询其他合同评审列表
     * @param otherConReviewVo
     * @return
     * @see
     */
    Page<OtherConReviewDomain> selectByDomainWhere(Page<OtherConReviewDomain> page, OtherConReviewVo otherConReviewVo) throws ParseException;

    /**
     * 其他合同台账
     * @param page
     * @param contractManageVo
     * @return
     * @see
     */
    Page<OtherConLedgerDomain> selectByLedger(Page<OtherConLedgerDomain> page,
                                              ContractManageVo contractManageVo) throws ParseException;


    OtherContractsReviewDto queryById(String id);

    List<Map<String, String>> projectDropDownBox();

    Basic projectBasic(String proCode);

    int save(OtherContractsReviewDto dto, List<ProjectAttachment> attachmentList);

    OtherContractsReview findById(String id);

    void deleteGenerationPay(String id);

    List<Map<String, String>> companyNameDropDownBox(String types);
}
